|
![](/i/fill.gif) |
Water-Glass-Air problem:
I've given this problem a lot of thought while trying to accurately model a
glass of Champagne. I've come up with four non-solutions.
Model with air-gap:
-Doesn't work because it results in total reflection where
there shouldn't be. (The air gap work the same way as the
air gaps in optical fiber lines.)
-Awful render times because of rays bouncing back and forth
in the gap.
Union with overlap:
-Not as much total reflection, but still incorrect.
-Still awful render times, because of the two surfaces.
Merge with overlap:
-Not really correct since merged objects shouldn't have different
interiors.
-The material is determined by the ray's point of entry, and
doesn't change, because there is no surface at all where there
were two surfaces before
Union + clipping.
-Correct number of surfaces (one) between water and glass.
-Problem when ray reenters air. (It doesn't, because it
misses the surface where it should leave the water.)
-Example:
1st surface: Enter water (Ray is in water)
2nd surface: Enter glass (Ray is in glass in water)
- Surface to leave water is clipped
3rd surface: Leave glass (Ray is in water, when it is actually in air.)
The only solution that I can think of would be to modify POV-ray itself.
The feature we need is a half-merge. That is a method which takes the
union of two objects, and keeps exactly one of the internal surfaces.
/Per
Post a reply to this message
|
![](/i/fill.gif) |